/* The following fields must be the same in this structure and MatchTranslatorBlock */
long allowFlags; /* --> Flags which indicate Translators to be used */
long numStandard; /* --> How many "standard" file types */
TransDescrPtr standard; /* --> Native file format information */
OSErr ioResult; /* <-- Errors reported through this variable */
short chosenTranslator; /* <-> On input, number of translators supplied in theChosenTranslator; on output, chosen Translator number */
TransDescrPtr theChosenTranslator; /* <-> On input, Pointer to list of translators to build popup menu from (UseMyTransList must be true if you supply this list); on output, pointer to the Chosen Translator */
/* End of common fields */
SFReply *fileReply; /* <-- File information is returned through this pointer */
ResType applicNativeType; /* --> Application native document file type, for use when library cannot be found */
XTNDDlgHookUPP XTNDDlogHook; /* --> Pointer to your SF dialog hook */
short currentMenuItem; /* <-- chosen menu item (GetFile) */
short currentSaveItem; /* <-- chosen menu item (PutFile) */
Point where; /* --> Top left corner of dialog, if zero, center on screen */
StringPtr prompt; /* --> Pascal string which is displayed on dialog */
StringPtr buttonTitle; /* --> Pascal string which replaces the "Open" or "Save" button */
StringPtr origName; /* --> Pascal string which is the original name in a PutFile */
short dialogID; /* --> Resource number of your dialog template */
ModalFilterUPP SFFilterProc; /* --> Pointer to your modal dialog filter proc */
Boolean showAllFiles; /* --> TRUE if you want all files to be shown */
Boolean useTransList; /* --> TRUE if you are using chosenTranslator and theChosenTranslator to input a list of translators to be used in creating the popup menu */
FileFilterUPP myFileFilter; /* --> Pointer to your SF Filter Proc */
long unused[1]; /* Reserved for future use, must be zero */
};
#if defined(powerc) || defined(__powerc)
#pragma options align=reset
#endif
typedef struct SFParamBlock SFParamBlock;
typedef SFParamBlock *SFParamPtr;
/* This parameter block is used to find a translator to read a file */
#if defined(powerc) || defined (__powerc)
#pragma options align=mac68k
#endif
struct MatchTranslatorBlock {
/* The following fields must be the same in this structure and in ClarisFileParamBlock */
long allowFlags; /* --> Flags which indicate Translators to be used */
long numStandard; /* --> How many "standard" file types */
TransDescrPtr standard; /* --> Array of "Native" file formats */
OSErr ioResult; /* <-- IO Result from Claris library */
short chosenTranslator; /* <-> On input, number of translators supplied in theChosenTranslator; on output, chosen Translator number */
TransDescrPtr theChosenTranslator; /* <-> On input, Pointer to list of translators to build popup menu from (UseMyTransList must be true if you supply this list); on output, pointer to the Chosen Translator */
/* End of common fields */
StringPtr fileName; /* --> File name */
short vRefNum; /* --> Volume Reference Number of file */
long ioDirID; /* --> Directory id of file */
Boolean initFlag; /* --> TRUE if the list of translators should be rebuilt */
Boolean useTransList; /* --> TRUE if you are using chosenTranslator and theChosenTranslator to input a list of translators to be used in creating the popup menu */
TransDescrPtr oneTrans; /* --> If this is supplied, it will be tried instead of searching all available translators */
long unused[4]; /* Reserved for future use, must be zero */
short translatorVersion; /* To select by translator type */
ResType translatorType; /* and version */
long includeFlags; /* Include any of these translator types */
long excludeFlags; /* Exclude all of these translator types */
short includeTrans; /* Include translators with any of these flags set */
short excludeTrans; /* Excluded translator with any of these flags set */
StringPtr transName; /* Include only translators with this name */
long PBVersion; /* ••• MUST be ONE (1) for this version ••• */
Boolean menuSortFlag; /* TRUE if you want the list sorted and duplicates removed as when the XTND System creates a menu in ClarisGetFile or ClarisPutFile for you */
Boolean unused1; /* Reserved for future use, must be zero */
short unused2; /* Reserved for future use, must be zero */
long unused[4]; /* Reserved for future use, must be zero */
};
#if defined(powerc) || defined(__powerc)
#pragma options align=reset
#endif
typedef struct SelectParamBlock SelectParamBlock;
typedef SelectParamBlock *SelectParamPtr;
/* ———— Prototypes for calls to the XTND system ———— */